/*
 * PersonFlow.h
 *
 *  Created on: 2018年10月3日
 *      Author: zhengboyuan
 */

#ifndef PERSONFLOW_H_
#define PERSONFLOW_H_

#include "BasicType.h"
#include <string>


struct Camera
{
    std::string id;
    std::string name;
    std::string ip;
    int port;
    std::string user;
    std::string password;

    Camera():
        id(),
        port()
    {
    }
};


struct PersonFlowCount
{
    int enterNum;
    int leaveNum;

    PersonFlowCount():
        enterNum(),
        leaveNum()
    {
    }
};


class PersonFlowSink
{
public:
    virtual ~PersonFlowSink() {}

    virtual void onFlowCount(const std::string& id, const PersonFlowCount& flowCount) =0;

    virtual void onDeviceStatus(const std::string& id, int connected) =0;

};



#endif /* PERSONFLOW_H_ */
